// Generated from BitQV2.g4 by ANTLR 4.7.2

	package com.xuanyue.db.xuan.antlr.v2;

import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link BitQV2Parser}.
 */
public interface BitQV2Listener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#bitQ}.
	 * @param ctx the parse tree
	 */
	void enterBitQ(BitQV2Parser.BitQContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#bitQ}.
	 * @param ctx the parse tree
	 */
	void exitBitQ(BitQV2Parser.BitQContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#fields}.
	 * @param ctx the parse tree
	 */
	void enterFields(BitQV2Parser.FieldsContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#fields}.
	 * @param ctx the parse tree
	 */
	void exitFields(BitQV2Parser.FieldsContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#fullName}.
	 * @param ctx the parse tree
	 */
	void enterFullName(BitQV2Parser.FullNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#fullName}.
	 * @param ctx the parse tree
	 */
	void exitFullName(BitQV2Parser.FullNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#phone_seach}.
	 * @param ctx the parse tree
	 */
	void enterPhone_seach(BitQV2Parser.Phone_seachContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#phone_seach}.
	 * @param ctx the parse tree
	 */
	void exitPhone_seach(BitQV2Parser.Phone_seachContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#orNot}.
	 * @param ctx the parse tree
	 */
	void enterOrNot(BitQV2Parser.OrNotContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#orNot}.
	 * @param ctx the parse tree
	 */
	void exitOrNot(BitQV2Parser.OrNotContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#andNot}.
	 * @param ctx the parse tree
	 */
	void enterAndNot(BitQV2Parser.AndNotContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#andNot}.
	 * @param ctx the parse tree
	 */
	void exitAndNot(BitQV2Parser.AndNotContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#orCondition}.
	 * @param ctx the parse tree
	 */
	void enterOrCondition(BitQV2Parser.OrConditionContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#orCondition}.
	 * @param ctx the parse tree
	 */
	void exitOrCondition(BitQV2Parser.OrConditionContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#andCondition}.
	 * @param ctx the parse tree
	 */
	void enterAndCondition(BitQV2Parser.AndConditionContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#andCondition}.
	 * @param ctx the parse tree
	 */
	void exitAndCondition(BitQV2Parser.AndConditionContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#conditionElement}.
	 * @param ctx the parse tree
	 */
	void enterConditionElement(BitQV2Parser.ConditionElementContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#conditionElement}.
	 * @param ctx the parse tree
	 */
	void exitConditionElement(BitQV2Parser.ConditionElementContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#groupCondition}.
	 * @param ctx the parse tree
	 */
	void enterGroupCondition(BitQV2Parser.GroupConditionContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#groupCondition}.
	 * @param ctx the parse tree
	 */
	void exitGroupCondition(BitQV2Parser.GroupConditionContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#boolTF}.
	 * @param ctx the parse tree
	 */
	void enterBoolTF(BitQV2Parser.BoolTFContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#boolTF}.
	 * @param ctx the parse tree
	 */
	void exitBoolTF(BitQV2Parser.BoolTFContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#values}.
	 * @param ctx the parse tree
	 */
	void enterValues(BitQV2Parser.ValuesContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#values}.
	 * @param ctx the parse tree
	 */
	void exitValues(BitQV2Parser.ValuesContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#to_date}.
	 * @param ctx the parse tree
	 */
	void enterTo_date(BitQV2Parser.To_dateContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#to_date}.
	 * @param ctx the parse tree
	 */
	void exitTo_date(BitQV2Parser.To_dateContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#array}.
	 * @param ctx the parse tree
	 */
	void enterArray(BitQV2Parser.ArrayContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#array}.
	 * @param ctx the parse tree
	 */
	void exitArray(BitQV2Parser.ArrayContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#exprValue}.
	 * @param ctx the parse tree
	 */
	void enterExprValue(BitQV2Parser.ExprValueContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#exprValue}.
	 * @param ctx the parse tree
	 */
	void exitExprValue(BitQV2Parser.ExprValueContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#arrayIndex0}.
	 * @param ctx the parse tree
	 */
	void enterArrayIndex0(BitQV2Parser.ArrayIndex0Context ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#arrayIndex0}.
	 * @param ctx the parse tree
	 */
	void exitArrayIndex0(BitQV2Parser.ArrayIndex0Context ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#arrayIndex1}.
	 * @param ctx the parse tree
	 */
	void enterArrayIndex1(BitQV2Parser.ArrayIndex1Context ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#arrayIndex1}.
	 * @param ctx the parse tree
	 */
	void exitArrayIndex1(BitQV2Parser.ArrayIndex1Context ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#arrayIndex2}.
	 * @param ctx the parse tree
	 */
	void enterArrayIndex2(BitQV2Parser.ArrayIndex2Context ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#arrayIndex2}.
	 * @param ctx the parse tree
	 */
	void exitArrayIndex2(BitQV2Parser.ArrayIndex2Context ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#arrayIndex3}.
	 * @param ctx the parse tree
	 */
	void enterArrayIndex3(BitQV2Parser.ArrayIndex3Context ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#arrayIndex3}.
	 * @param ctx the parse tree
	 */
	void exitArrayIndex3(BitQV2Parser.ArrayIndex3Context ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#arrayIndex4}.
	 * @param ctx the parse tree
	 */
	void enterArrayIndex4(BitQV2Parser.ArrayIndex4Context ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#arrayIndex4}.
	 * @param ctx the parse tree
	 */
	void exitArrayIndex4(BitQV2Parser.ArrayIndex4Context ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#arrayIndex}.
	 * @param ctx the parse tree
	 */
	void enterArrayIndex(BitQV2Parser.ArrayIndexContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#arrayIndex}.
	 * @param ctx the parse tree
	 */
	void exitArrayIndex(BitQV2Parser.ArrayIndexContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#exprKey}.
	 * @param ctx the parse tree
	 */
	void enterExprKey(BitQV2Parser.ExprKeyContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#exprKey}.
	 * @param ctx the parse tree
	 */
	void exitExprKey(BitQV2Parser.ExprKeyContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#function}.
	 * @param ctx the parse tree
	 */
	void enterFunction(BitQV2Parser.FunctionContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#function}.
	 * @param ctx the parse tree
	 */
	void exitFunction(BitQV2Parser.FunctionContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#baseExpr}.
	 * @param ctx the parse tree
	 */
	void enterBaseExpr(BitQV2Parser.BaseExprContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#baseExpr}.
	 * @param ctx the parse tree
	 */
	void exitBaseExpr(BitQV2Parser.BaseExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#conditionExpr}.
	 * @param ctx the parse tree
	 */
	void enterConditionExpr(BitQV2Parser.ConditionExprContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#conditionExpr}.
	 * @param ctx the parse tree
	 */
	void exitConditionExpr(BitQV2Parser.ConditionExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#query}.
	 * @param ctx the parse tree
	 */
	void enterQuery(BitQV2Parser.QueryContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#query}.
	 * @param ctx the parse tree
	 */
	void exitQuery(BitQV2Parser.QueryContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#result}.
	 * @param ctx the parse tree
	 */
	void enterResult(BitQV2Parser.ResultContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#result}.
	 * @param ctx the parse tree
	 */
	void exitResult(BitQV2Parser.ResultContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#repo}.
	 * @param ctx the parse tree
	 */
	void enterRepo(BitQV2Parser.RepoContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#repo}.
	 * @param ctx the parse tree
	 */
	void exitRepo(BitQV2Parser.RepoContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#sortBy}.
	 * @param ctx the parse tree
	 */
	void enterSortBy(BitQV2Parser.SortByContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#sortBy}.
	 * @param ctx the parse tree
	 */
	void exitSortBy(BitQV2Parser.SortByContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#sortE}.
	 * @param ctx the parse tree
	 */
	void enterSortE(BitQV2Parser.SortEContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#sortE}.
	 * @param ctx the parse tree
	 */
	void exitSortE(BitQV2Parser.SortEContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#mix}.
	 * @param ctx the parse tree
	 */
	void enterMix(BitQV2Parser.MixContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#mix}.
	 * @param ctx the parse tree
	 */
	void exitMix(BitQV2Parser.MixContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#limit}.
	 * @param ctx the parse tree
	 */
	void enterLimit(BitQV2Parser.LimitContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#limit}.
	 * @param ctx the parse tree
	 */
	void exitLimit(BitQV2Parser.LimitContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#saveAsFile}.
	 * @param ctx the parse tree
	 */
	void enterSaveAsFile(BitQV2Parser.SaveAsFileContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#saveAsFile}.
	 * @param ctx the parse tree
	 */
	void exitSaveAsFile(BitQV2Parser.SaveAsFileContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#insertInto}.
	 * @param ctx the parse tree
	 */
	void enterInsertInto(BitQV2Parser.InsertIntoContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#insertInto}.
	 * @param ctx the parse tree
	 */
	void exitInsertInto(BitQV2Parser.InsertIntoContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#setValue}.
	 * @param ctx the parse tree
	 */
	void enterSetValue(BitQV2Parser.SetValueContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#setValue}.
	 * @param ctx the parse tree
	 */
	void exitSetValue(BitQV2Parser.SetValueContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#update}.
	 * @param ctx the parse tree
	 */
	void enterUpdate(BitQV2Parser.UpdateContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#update}.
	 * @param ctx the parse tree
	 */
	void exitUpdate(BitQV2Parser.UpdateContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#delete}.
	 * @param ctx the parse tree
	 */
	void enterDelete(BitQV2Parser.DeleteContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#delete}.
	 * @param ctx the parse tree
	 */
	void exitDelete(BitQV2Parser.DeleteContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#setSource}.
	 * @param ctx the parse tree
	 */
	void enterSetSource(BitQV2Parser.SetSourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#setSource}.
	 * @param ctx the parse tree
	 */
	void exitSetSource(BitQV2Parser.SetSourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#createTable}.
	 * @param ctx the parse tree
	 */
	void enterCreateTable(BitQV2Parser.CreateTableContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#createTable}.
	 * @param ctx the parse tree
	 */
	void exitCreateTable(BitQV2Parser.CreateTableContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#column}.
	 * @param ctx the parse tree
	 */
	void enterColumn(BitQV2Parser.ColumnContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#column}.
	 * @param ctx the parse tree
	 */
	void exitColumn(BitQV2Parser.ColumnContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#cType}.
	 * @param ctx the parse tree
	 */
	void enterCType(BitQV2Parser.CTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#cType}.
	 * @param ctx the parse tree
	 */
	void exitCType(BitQV2Parser.CTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#intType}.
	 * @param ctx the parse tree
	 */
	void enterIntType(BitQV2Parser.IntTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#intType}.
	 * @param ctx the parse tree
	 */
	void exitIntType(BitQV2Parser.IntTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#uintType}.
	 * @param ctx the parse tree
	 */
	void enterUintType(BitQV2Parser.UintTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#uintType}.
	 * @param ctx the parse tree
	 */
	void exitUintType(BitQV2Parser.UintTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#dateType}.
	 * @param ctx the parse tree
	 */
	void enterDateType(BitQV2Parser.DateTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#dateType}.
	 * @param ctx the parse tree
	 */
	void exitDateType(BitQV2Parser.DateTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#floatType}.
	 * @param ctx the parse tree
	 */
	void enterFloatType(BitQV2Parser.FloatTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#floatType}.
	 * @param ctx the parse tree
	 */
	void exitFloatType(BitQV2Parser.FloatTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#ufloatType}.
	 * @param ctx the parse tree
	 */
	void enterUfloatType(BitQV2Parser.UfloatTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#ufloatType}.
	 * @param ctx the parse tree
	 */
	void exitUfloatType(BitQV2Parser.UfloatTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#booleanType}.
	 * @param ctx the parse tree
	 */
	void enterBooleanType(BitQV2Parser.BooleanTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#booleanType}.
	 * @param ctx the parse tree
	 */
	void exitBooleanType(BitQV2Parser.BooleanTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#longType}.
	 * @param ctx the parse tree
	 */
	void enterLongType(BitQV2Parser.LongTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#longType}.
	 * @param ctx the parse tree
	 */
	void exitLongType(BitQV2Parser.LongTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#ulongType}.
	 * @param ctx the parse tree
	 */
	void enterUlongType(BitQV2Parser.UlongTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#ulongType}.
	 * @param ctx the parse tree
	 */
	void exitUlongType(BitQV2Parser.UlongTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#phoneType}.
	 * @param ctx the parse tree
	 */
	void enterPhoneType(BitQV2Parser.PhoneTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#phoneType}.
	 * @param ctx the parse tree
	 */
	void exitPhoneType(BitQV2Parser.PhoneTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#listType}.
	 * @param ctx the parse tree
	 */
	void enterListType(BitQV2Parser.ListTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#listType}.
	 * @param ctx the parse tree
	 */
	void exitListType(BitQV2Parser.ListTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#mapType}.
	 * @param ctx the parse tree
	 */
	void enterMapType(BitQV2Parser.MapTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#mapType}.
	 * @param ctx the parse tree
	 */
	void exitMapType(BitQV2Parser.MapTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#alertTable}.
	 * @param ctx the parse tree
	 */
	void enterAlertTable(BitQV2Parser.AlertTableContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#alertTable}.
	 * @param ctx the parse tree
	 */
	void exitAlertTable(BitQV2Parser.AlertTableContext ctx);
	/**
	 * Enter a parse tree produced by {@link BitQV2Parser#alertOP}.
	 * @param ctx the parse tree
	 */
	void enterAlertOP(BitQV2Parser.AlertOPContext ctx);
	/**
	 * Exit a parse tree produced by {@link BitQV2Parser#alertOP}.
	 * @param ctx the parse tree
	 */
	void exitAlertOP(BitQV2Parser.AlertOPContext ctx);
}